Spring Boot এবং Spring Framework এ ORM কনফিগারেশন

Java Technologies - স্প্রিং ওআরএম (Spring ORM) Spring ORM এর সেটআপ এবং কনফিগারেশন |
70
70

স্প্রিং ওআরএম (Spring Object Relational Mapping) হল স্প্রিং ফ্রেমওয়ার্কের একটি গুরুত্বপূর্ণ মডিউল, যা Hibernate, JPA (Java Persistence API) এবং অন্যান্য ORM টুলের সঙ্গে একীভূত হতে সাহায্য করে। এটি ডেটাবেস অপারেশন সহজ ও দক্ষ করে এবং Boilerplate কোড কমিয়ে দেয়।

স্প্রিং ORM মডিউল বিশেষত Spring Framework এবং Spring Boot এ ব্যবহৃত হয়, যেখানে ডেটাবেস-সংক্রান্ত কাজগুলো আরো দ্রুত এবং সহজভাবে করা যায়।


Spring ORM এর প্রধান ফিচারসমূহ

  • ইন্টিগ্রেশন সুবিধা: Hibernate, JPA, JDO, এবং Apache OJB-এর মতো ORM টুলের সঙ্গে সহজ ইন্টিগ্রেশন।
  • Declarative Transaction Management: অ্যানোটেশন-ভিত্তিক ট্রান্স্যাকশন ম্যানেজমেন্ট।
  • Boilerplate কোড কমানো: DAO লেয়ারের জন্য অত্যন্ত কম কোড লিখে ডেটাবেস অপারেশন।
  • Exception Translation: Hibernate বা JPA এর Exception গুলো Spring DataAccessException-এ রূপান্তর করে।

Spring Boot এবং Spring Framework-এ ORM কনফিগারেশন

Hibernate এর সাথে Spring ORM কনফিগারেশন

Dependencies যোগ করা

Spring Boot প্রোজেক্টে Maven বা Gradle ব্যবহার করে Hibernate এবং JPA এর জন্য নিচের ডিপেন্ডেন্সি যোগ করতে হয়:

Maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'

অ্যাপ্লিকেশন প্রোপার্টিজ (application.properties) কনফিগারেশন

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

Hibernate Entity তৈরি

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String department;

    // Getters and Setters
}

Spring Data JPA Repository

import org.springframework.data.jpa.repository.JpaRepository;

public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}

সেবাসেবা বা সার্ভিস লেয়ার

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepository;

    public List<Employee> getAllEmployees() {
        return employeeRepository.findAll();
    }

    public Employee saveEmployee(Employee employee) {
        return employeeRepository.save(employee);
    }
}

কন্ট্রোলার লেয়ার

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/employees")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

    @GetMapping
    public List<Employee> getAllEmployees() {
        return employeeService.getAllEmployees();
    }

    @PostMapping
    public Employee createEmployee(@RequestBody Employee employee) {
        return employeeService.saveEmployee(employee);
    }
}

Spring Framework-এ ORM কনফিগারেশন

Spring Framework-এ XML বা Java Configuration দিয়ে ORM সেটআপ করা হয়।

Hibernate Configuration (Java-Based)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;

import javax.sql.DataSource;

@Configuration
public class HibernateConfig {

    @Bean
    public LocalSessionFactoryBean sessionFactory(DataSource dataSource) {
        LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setPackagesToScan("com.example.model");
        return sessionFactory;
    }
}

Spring ORM ডেটাবেস এবং জাভার মধ্যে এক মসৃণ সংযোগ স্থাপন করে, যার ফলে ডেভেলপারদের কোড সহজ ও মেইনটেইনেবল হয়।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion